Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

451 message about point #457

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

Conversation

MarinaProsche
Copy link
Collaborator

Изменен файл "results.html", добавлено сообщение для студентов в соответствии с задачей.
Сообщение о статусе "Допущен" появляется когда score = 1
Сообщение о минимальном бале прохождения, когда 0.5 < score < 1
Если score < 0.5 сообщение о минимальном балле отсутствует, проверка не пройдена.

Вы набрали необходимый минимум для дальнейшего допуска на защиту ВКР с оценкой
<b>"Допущен с рекомендацией снизить оценку"</b>.
<br>Однако, мы рекомендуем вам продолжить исправления презентации для получения максимального балла.
Это повысит ваш допуск до уровня <b>"Допущен"</b>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Нужно более общее решение - необходимо хранить и сами наборы, и баллы-пороги для них в БД рядом с записью соответсвующей задачи (набора критериев).
То есть, это должны быть не захардкоженные одинаковые сообщения для всех задач, а кастомизируемые (индивидуальные) сообщения под каждую задачу.
Если для задачи такое не задано, то ничего не отображаем.

@MarinaProsche
Copy link
Collaborator Author

Сделала более общее решение. Добавила в базу словарь пока с произвольными значениями "score" и соответствующими им сообщениями

99df8c8

@MarinaProsche
Copy link
Collaborator Author

Исправила.

fcf5945

Copy link
Collaborator

@HadronCollider HadronCollider left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Пока не запускал, но комментарии следующие:

  • point_levels - должны быть порогами, а не точными значениями баллов (про логику get_point_levels(self))
  • добавьте редактирование point_levels набора на клиенте (что-то вроде второго поля на странице редактирования набора)
    • можно задавать в текстовом поле как json (аналогично списку критериев)
    • задача со звездочкой - чтобы сильно не удлинять страницу редактирования критерия - сделать в UI что-то вроде вкладок (на одной вкладке - редактируем критерии, переключаемся на вторую вкладку - редактируем поинты) - раньше с таким не работал, но подозреваю, что решения есть (и выглядит это по идее опрятно)
[
    [порог1, сообщение1],
    [порог2, сообщение2],
]

'Message2': [0.6, 0.7],
'Вы набрали необходимый минимум для дальнейшего допуска на защиту ВКР с оценкой "Допущен с рекомендацией значительно снизить оценку". Однако, мы рекомендуем вам продолжить исправления презентации для получения максимального балла. Это повысит ваш допуск до уровня "Допущен".': [0.7, 0.8],
'Вы набрали необходимый минимум для дальнейшего допуска на защиту ВКР с оценкой "Допущен с рекомендацией снизить оценку". Однако, мы рекомендуем вам продолжить исправления презентации для получения максимального балла. Это повысит ваш допуск до уровня "Допущен".': [0.8, 0.998],
'Уровень Вашего допуска "Допущен"': [0.999, ]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if value[0] < self.score < value[1]:
Разве тут не будет IndexError на этом уровне допуска?

def get_point_levels(self):
for key in POINT_LEVELS:
value = POINT_LEVELS[key]
if value[0] < self.score < value[1]:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

может какую-то границу надо включить? (не уверен)

@@ -145,3 +146,10 @@ def none_to_false(x):
is_ended = none_to_true(self.is_ended) # None for old checks => True, True->True, False->False
is_failed = none_to_false(self.is_failed) # None for old checks => False, True->True, False->False
return {'is_ended': is_ended, 'is_failed': is_failed}

def get_point_levels(self):

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

функция иногда возвращает None не лучше ли поднимать исключение?

Comment on lines 85 to 92
var i, tabs;
tabs = document.getElementsByClassName("tab");
for (i = 0; i < tabs.length; i++) {
tabs[i].style.display = "none";
}
document.getElementById(tabName).style.display = "block";
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

с отступами беда(


.tab {
display: none;
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

пустая строка в конце файла?

@MarinaProsche
Copy link
Collaborator Author

Исправила все замечания, кроме необходимости границ.
Также исправила баг с отображением point_levels в json

@github-actions github-actions bot added the has conflicts if new merge has conflicts label Feb 19, 2024
@github-actions github-actions bot removed the has conflicts if new merge has conflicts label May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
4 participants